#ifndef SIGNAL_H 
#define SIGNAL_H

#include <vector>
#include <complex>

class Signal : public std::vector<std::complex<double> > {
    public:
        Signal(int carrierFrequency, double pulseLength, double amplitude = 1.0); 
        Signal(const Signal&);
        void generateSinus();
        void generateLFM();
        void setAzimuth(double);
        double& getAzimuth();

    private:
        /**
         * Częstotliwość nośna [Hz]
         */ 
        int& carrierFrequency;
        
        /**
         * Długość impulsu [s]
         */
        double& pulseLength;

        /**
         * Amplituda
         */
        double amplitude;

        /**
         * Kąt azymutalny wysłania sygnału
         */
        double azimuth;  
};
#endif //SIGNAL_H
